function show<T>(value: T): T {
  console.log(value);

  return value;
}

let v = show<string>("admin");
console.log(v);

let v2 = show<number>(6);
console.log(v2);

function test<K, V>(key: K, value: V): V {
  console.log(key, value);
  return value;
}
test<string, number>("admin", 888);

interface ILength {
  length: number;
}
function show2<T extends ILength>(value: T): T {
  console.log(value);
  console.log(value.length);
  return value;
}

show2<number[]>([12, 34, 56]);
